package com.fastloan.safe.mgt.root.dao;


import com.fastloan.safe.mgt.root.model.CmDefResApi;
import com.fastloan.safe.mgt.root.model.vo.DefResApiVo;
import com.kawins.base.BaseMapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

public interface CmDefResApiMapper extends BaseMapper<CmDefResApi> {

    /**
     * 分页列表
     *
     * @param map
     * @return
     */
    List<DefResApiVo> pageList(Map<String, Object> map);

    /**
     * 根据root用户ID获取用户资源
     *
     * @param userId
     * @return
     */
    List<CmDefResApi> selectAuthForRoot(@Param("userId") String userId);

    /**
     * 根据用户ID获取用户资源
     *
     * @param userId
     * @return
     */
    List<CmDefResApi> selectAuth(@Param("userId") String userId);

    /**
     * 获得全部全部,根据name或url搜索
     *
     * @param name
     * @param url
     * @return
     */
    List<CmDefResApi> selectAllByValue(@Param("name") String name, @Param("url") String url);

    /**
     * 根据功能ID获取API资源集合
     *
     * @param defFunId
     * @return
     */
    List<CmDefResApi> selectDefApiResByFunId(@Param("defFunId") String defFunId);

    /**
     * 获得用户独立拥有的权限
     *
     * @param userId
     * @param isHas
     * @return
     */
    List<CmDefResApi> selectApiListByUserForAll(@Param("userId") String userId, @Param("isHas") boolean isHas);
}